/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controller;

import Model.Bean.Inmuebles;
import Model.Servicios.InmuebleSrv;
import Util.Constantes;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author sixviv
 */
public class guardarInmuebleController extends HttpServlet {
    private Inmuebles inmueble;
    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            setInmueble(request, response);
            InmuebleSrv iSrv = new InmuebleSrv();
            iSrv.guardar(inmueble);
            request.getSession().setAttribute("inmuebles", iSrv.getInmuebles());
            request.getRequestDispatcher("inmuebles").include(request,response);
        } finally { 
            out.close();
        }
    }



    private void setInmueble(HttpServletRequest request, HttpServletResponse response){
        inmueble = new Inmuebles();
        String[] servicios = request.getParameterValues("servicios");
        String[] condicones = request.getParameterValues("condicionesGenerales");
        for(int i=0; i<servicios.length; i++){
            if(servicios[i].contentEquals("luz")){
                String[] luz = request.getParameterValues("luz");
                for(int j=0; j<luz.length; j++){
                    if(luz[j].contentEquals("luz110"))
                        inmueble.setLuz110(Constantes.VERDADERO);
                    else
                        inmueble.setLuz110(Constantes.FALSO);
                    if(luz[j].contentEquals("luz220"))
                        inmueble.setLuz220(Constantes.VERDADERO);
                    else
                        inmueble.setLuz220(Constantes.FALSO);
                }
            }
            if(servicios[i].contentEquals("sisterna")){
                String[] sisterna = request.getParameterValues("sisterna");
                for(int j=0; j<sisterna.length; j++){
                    if(sisterna[j].contentEquals("conBomba"))
                        inmueble.setConBomba(Constantes.VERDADERO);
                    else
                        inmueble.setConBomba(Constantes.FALSO);
                    if(sisterna[j].contentEquals("sinBomba"))
                        inmueble.setSinBomba(Constantes.VERDADERO);
                    else
                        inmueble.setSinBomba(Constantes.FALSO);
                }
            }
            if(servicios[i].contentEquals("agua"))
                inmueble.setAgua(Constantes.VERDADERO);
            else
               inmueble.setAgua(Constantes.FALSO);
            if(servicios[i].contentEquals("protectores"))
                inmueble.setProtectores(Constantes.VERDADERO);
            else
               inmueble.setProtectores(Constantes.FALSO);
            if(servicios[i].contentEquals("estacionario"))
                inmueble.setEstacionario(Constantes.VERDADERO);
            else
               inmueble.setEstacionario(Constantes.FALSO);
            if(servicios[i].contentEquals("tanqueAgua"))
                inmueble.setTanqueAgua(Constantes.VERDADERO);
            else
               inmueble.setTanqueAgua(Constantes.FALSO);
        }
        for(int i=0; i<condicones.length; i++){
            if(condicones[i].contentEquals("ac"))
                inmueble.setAireC(Constantes.VERDADERO);
            else
               inmueble.setAireC(Constantes.FALSO);
            if(condicones[i].contentEquals("ventis"))
                inmueble.setVentiladores(Constantes.VERDADERO);
            else
               inmueble.setVentiladores(Constantes.FALSO);
            if(condicones[i].contentEquals("focos"))
                inmueble.setFocos(Constantes.VERDADERO);
            else
               inmueble.setFocos(Constantes.FALSO);
            if(condicones[i].contentEquals("lamparas"))
                inmueble.setLamparas(Constantes.VERDADERO);
            else
               inmueble.setLamparas(Constantes.FALSO);
        }
        inmueble.setDireccion(request.getParameter("direccion"));
        inmueble.setDisponibilidad(Constantes.VERDADERO);
        inmueble.setHabitaciones(Integer.valueOf(request.getParameter("habitaciones")));
        inmueble.setMetros2(Double.valueOf(request.getParameter("metros")));
        inmueble.setNombre(request.getParameter("nombre"));
        inmueble.setPropietario(request.getParameter("propietario"));
        inmueble.setSanitarios(Integer.valueOf(request.getParameter("banos")));
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
